﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/Microsoft.Com.Forums.Service" xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Microsoft.Com.Forums.Service" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:import namespace="http://schemas.datacontract.org/2004/07/Microsoft.Com.Forums.Service.BaseObjects" />
  <xs:import namespace="http://schemas.datacontract.org/2004/07/Microsoft.Com.Forums.Business" />
  <xs:complexType name="UserDataResult">
    <xs:sequence>
      <xs:element minOccurs="0" name="AnswersCount" type="xs:int" />
      <xs:element minOccurs="0" name="DisplayName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" type="ser:guid" />
      <xs:element minOccurs="0" name="IsInappropriate" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsMsft" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsMvp" type="xs:boolean" />
      <xs:element minOccurs="0" name="JoinedDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="LastActiveDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Points" type="xs:int" />
      <xs:element minOccurs="0" name="PostsCount" type="xs:int" />
      <xs:element minOccurs="0" name="Puid" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Stars" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UserDataResult" nillable="true" type="tns:UserDataResult" />
  <xs:complexType name="AnnouncementResult">
    <xs:sequence>
      <xs:element minOccurs="0" name="Created" type="xs:dateTime" />
      <xs:element minOccurs="0" name="CreatedBy" nillable="true" type="tns:UserDataResult" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Expires" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Id" type="ser:guid" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AnnouncementResult" nillable="true" type="tns:AnnouncementResult" />
  <xs:complexType name="BriefForumResult">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/Microsoft.Com.Forums.Service.BaseObjects" base="q1:DiscussionGroupResult">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="BriefForumResult" nillable="true" type="tns:BriefForumResult" />
  <xs:complexType name="BriefMessageResult">
    <xs:sequence>
      <xs:element minOccurs="0" name="Archived" type="xs:boolean" />
      <xs:element minOccurs="0" name="Body" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ContentType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CreatedBy" nillable="true" type="tns:UserDataResult" />
      <xs:element minOccurs="0" name="CreatedOn" type="xs:dateTime" />
      <xs:element minOccurs="0" name="DiscussionId" type="ser:guid" />
      <xs:element minOccurs="0" name="Id" type="ser:guid" />
      <xs:element minOccurs="0" name="IsAbusive" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsAnswer" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsFlaggedAbusive" type="xs:boolean" />
      <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/Microsoft.Com.Forums.Business" minOccurs="0" name="MessageType" type="q2:MessageType" />
      <xs:element minOccurs="0" name="ModifiedBy" nillable="true" type="tns:UserDataResult" />
      <xs:element minOccurs="0" name="ModifiedById" type="ser:guid" />
      <xs:element minOccurs="0" name="ModifiedDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="ParentId" nillable="true" type="ser:guid" />
      <xs:element minOccurs="0" name="Subject" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TotalReplies" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="BriefMessageResult" nillable="true" type="tns:BriefMessageResult" />
  <xs:complexType name="BriefThreadResult">
    <xs:sequence>
      <xs:element minOccurs="0" name="Body" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ContainsSource" type="xs:boolean" />
      <xs:element minOccurs="0" name="CreatedBy" nillable="true" type="tns:UserDataResult" />
      <xs:element minOccurs="0" name="CreatedOn" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Deleted" type="xs:boolean" />
      <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/Microsoft.Com.Forums.Business" minOccurs="0" name="DiscussionBehavior" type="q3:DiscussionBehavior" />
      <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/Microsoft.Com.Forums.Business" minOccurs="0" name="DiscussionType" type="q4:DiscussionType" />
      <xs:element minOccurs="0" name="Id" type="ser:guid" />
      <xs:element minOccurs="0" name="IsLocked" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsSticky" type="xs:boolean" />
      <xs:element minOccurs="0" name="LastReply" nillable="true" type="tns:MessageResult" />
      <xs:element minOccurs="0" name="RootMessage" nillable="true" type="tns:MessageResult" />
      <xs:element minOccurs="0" name="StickyDate" type="xs:dateTime" />
      <xs:element xmlns:q5="http://schemas.datacontract.org/2004/07/Microsoft.Com.Forums.Business" minOccurs="0" name="ThreadType" type="q5:ThreadType" />
      <xs:element minOccurs="0" name="Topic" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TotalReplies" type="xs:int" />
      <xs:element minOccurs="0" name="TotalViews" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="BriefThreadResult" nillable="true" type="tns:BriefThreadResult" />
  <xs:complexType name="MessageResult">
    <xs:sequence>
      <xs:element minOccurs="0" name="Archived" type="xs:boolean" />
      <xs:element minOccurs="0" name="Body" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ContentType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CreatedBy" nillable="true" type="tns:UserDataResult" />
      <xs:element minOccurs="0" name="CreatedOn" type="xs:dateTime" />
      <xs:element minOccurs="0" name="DiscussionId" type="ser:guid" />
      <xs:element minOccurs="0" name="Id" type="ser:guid" />
      <xs:element minOccurs="0" name="IsAbusive" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsAnswer" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsFlaggedAbusive" type="xs:boolean" />
      <xs:element minOccurs="0" name="MessageHistory" nillable="true" type="tns:ArrayOfMessageHistoryResult" />
      <xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/Microsoft.Com.Forums.Business" minOccurs="0" name="MessageType" type="q6:MessageType" />
      <xs:element minOccurs="0" name="ModifiedBy" nillable="true" type="tns:UserDataResult" />
      <xs:element minOccurs="0" name="ModifiedById" type="ser:guid" />
      <xs:element minOccurs="0" name="ModifiedDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="ParentId" nillable="true" type="ser:guid" />
      <xs:element minOccurs="0" name="Subject" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TotalReplies" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="MessageResult" nillable="true" type="tns:MessageResult" />
  <xs:complexType name="ArrayOfMessageHistoryResult">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="MessageHistoryResult" nillable="true" type="tns:MessageHistoryResult" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfMessageHistoryResult" nillable="true" type="tns:ArrayOfMessageHistoryResult" />
  <xs:complexType name="MessageHistoryResult">
    <xs:sequence>
      <xs:element minOccurs="0" name="Edited" type="xs:dateTime" />
      <xs:element minOccurs="0" name="EditorId" type="ser:guid" />
      <xs:element xmlns:q7="http://schemas.datacontract.org/2004/07/Microsoft.Com.Forums.Business" minOccurs="0" name="ItemType" type="q7:HistoryItemType" />
      <xs:element minOccurs="0" name="MessageId" type="ser:guid" />
      <xs:element minOccurs="0" name="Reason" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="MessageHistoryResult" nillable="true" type="tns:MessageHistoryResult" />
  <xs:complexType name="ForumResult">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q8="http://schemas.datacontract.org/2004/07/Microsoft.Com.Forums.Service.BaseObjects" base="q8:DiscussionGroupResult">
        <xs:sequence>
          <xs:element minOccurs="0" name="Announcements" nillable="true" type="tns:ArrayOfAnnouncementResult" />
          <xs:element minOccurs="0" name="Statistics" nillable="true" type="tns:ForumFactsResult" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ForumResult" nillable="true" type="tns:ForumResult" />
  <xs:complexType name="ArrayOfAnnouncementResult">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="AnnouncementResult" nillable="true" type="tns:AnnouncementResult" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAnnouncementResult" nillable="true" type="tns:ArrayOfAnnouncementResult" />
  <xs:complexType name="ForumFactsResult">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="ser:guid" />
      <xs:element minOccurs="0" name="LastPostAuthorName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LastPostDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="LastPostThreadId" type="ser:guid" />
      <xs:element minOccurs="0" name="LastPostTitle" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LastReplyId" nillable="true" type="ser:guid" />
      <xs:element minOccurs="0" name="TotalAnswered" type="xs:int" />
      <xs:element minOccurs="0" name="TotalComments" type="xs:int" />
      <xs:element minOccurs="0" name="TotalMessages" type="xs:int" />
      <xs:element minOccurs="0" name="TotalQuestions" type="xs:int" />
      <xs:element minOccurs="0" name="TotalRecentMessages" type="xs:int" />
      <xs:element minOccurs="0" name="TotalRecentThreads" type="xs:int" />
      <xs:element minOccurs="0" name="TotalRecentUsers" type="xs:int" />
      <xs:element minOccurs="0" name="TotalThreads" type="xs:int" />
      <xs:element minOccurs="0" name="TotalUnanswered" type="xs:int" />
      <xs:element minOccurs="0" name="TotalUsers" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ForumFactsResult" nillable="true" type="tns:ForumFactsResult" />
  <xs:complexType name="ThreadFactsResult">
    <xs:sequence>
      <xs:element minOccurs="0" name="HasAbusive" type="xs:boolean" />
      <xs:element minOccurs="0" name="HasDeleted" type="xs:boolean" />
      <xs:element minOccurs="0" name="HasProposedAnswers" type="xs:boolean" />
      <xs:element minOccurs="0" name="HelpfulVotes" type="xs:int" />
      <xs:element minOccurs="0" name="Id" type="ser:guid" />
      <xs:element minOccurs="0" name="IsAnswered" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsHelpful" type="xs:boolean" />
      <xs:element minOccurs="0" name="Popularity" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ThreadFactsResult" nillable="true" type="tns:ThreadFactsResult" />
  <xs:complexType name="ThreadResult">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q9="http://schemas.datacontract.org/2004/07/Microsoft.Com.Forums.Service.BaseObjects" base="q9:DiscussionResult">
        <xs:sequence>
          <xs:element minOccurs="0" name="DeletedPostCount" type="xs:int" />
          <xs:element minOccurs="0" name="HasAbusive" type="xs:boolean" />
          <xs:element minOccurs="0" name="HasDeleted" type="xs:boolean" />
          <xs:element minOccurs="0" name="HasProposedAnswers" type="xs:boolean" />
          <xs:element minOccurs="0" name="HelpfulVotes" type="xs:int" />
          <xs:element minOccurs="0" name="IsAnswered" type="xs:boolean" />
          <xs:element minOccurs="0" name="IsHelpful" type="xs:boolean" />
          <xs:element minOccurs="0" name="Popularity" type="xs:int" />
          <xs:element xmlns:q10="http://schemas.datacontract.org/2004/07/Microsoft.Com.Forums.Business" minOccurs="0" name="ThreadType" type="q10:ThreadType" />
          <xs:element minOccurs="0" name="TotalReplies" type="xs:int" />
          <xs:element minOccurs="0" name="TotalViews" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ThreadResult" nillable="true" type="tns:ThreadResult" />
  <xs:complexType name="MessageFactsResult">
    <xs:sequence />
  </xs:complexType>
  <xs:element name="MessageFactsResult" nillable="true" type="tns:MessageFactsResult" />
  <xs:simpleType name="ForumObjectType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Forum" />
      <xs:enumeration value="Thread" />
      <xs:enumeration value="Message" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="ForumObjectType" nillable="true" type="tns:ForumObjectType" />
  <xs:complexType name="ArrayOfBriefThreadResult">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="BriefThreadResult" nillable="true" type="tns:BriefThreadResult" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfBriefThreadResult" nillable="true" type="tns:ArrayOfBriefThreadResult" />
  <xs:complexType name="ArrayOfForumFactsResult">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ForumFactsResult" nillable="true" type="tns:ForumFactsResult" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfForumFactsResult" nillable="true" type="tns:ArrayOfForumFactsResult" />
  <xs:complexType name="ArrayOfBriefMessageResult">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="BriefMessageResult" nillable="true" type="tns:BriefMessageResult" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfBriefMessageResult" nillable="true" type="tns:ArrayOfBriefMessageResult" />
  <xs:complexType name="ArrayOfForumResult">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ForumResult" nillable="true" type="tns:ForumResult" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfForumResult" nillable="true" type="tns:ArrayOfForumResult" />
  <xs:complexType name="ArrayOfThreadResult">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ThreadResult" nillable="true" type="tns:ThreadResult" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfThreadResult" nillable="true" type="tns:ArrayOfThreadResult" />
  <xs:complexType name="ArrayOfMessageResult">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="MessageResult" nillable="true" type="tns:MessageResult" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfMessageResult" nillable="true" type="tns:ArrayOfMessageResult" />
  <xs:complexType name="ArrayOfAbusiveMessageResult">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="AbusiveMessageResult" nillable="true" type="tns:AbusiveMessageResult" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAbusiveMessageResult" nillable="true" type="tns:ArrayOfAbusiveMessageResult" />
  <xs:complexType name="AbusiveMessageResult">
    <xs:sequence>
      <xs:element minOccurs="0" name="Body" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="BrandId" type="ser:guid" />
      <xs:element minOccurs="0" name="DiscussionId" type="ser:guid" />
      <xs:element minOccurs="0" name="ForumTitle" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MessageId" type="ser:guid" />
      <xs:element minOccurs="0" name="Reason" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ReportedDateTime" type="xs:dateTime" />
      <xs:element minOccurs="0" name="ReportedDisplayName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Topic" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AbusiveMessageResult" nillable="true" type="tns:AbusiveMessageResult" />
  <xs:complexType name="ArrayOfBriefForumResult">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="BriefForumResult" nillable="true" type="tns:BriefForumResult" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfBriefForumResult" nillable="true" type="tns:ArrayOfBriefForumResult" />
</xs:schema>